package com.jing21.learn.basic.mq;

import com.jing21.learn.intf.entity.LearnUser;
import com.jing21.learn.intf.mq.MqUserSink;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.messaging.handler.annotation.Payload;

/**
 * 消息消费者demo 真是环境这应该在其他的服务里面
 * Create By zhengjing on 2017/11/2 17:18
 */
@EnableBinding(MqUserSink.class)
public class UserListener {

    /**
     * 联系用户 核实信息
     *
     * @param user
     */
    @StreamListener(value = MqUserSink.SINK, condition = "headers['type']=='insert'")
    public void receiveInsert(@Payload LearnUser user) { // 可以返回 也可以处理完之后发送消息给其他服务
        //TODO Something
        user.getPhone();
        System.err.println("call " + user.getPhone() + " ，update state");

    }

    /**
     * 审核通过之后 生成商户信息 或者禁用或者过期后禁用商户功能
     *
     * @param user
     */
    @StreamListener(value = MqUserSink.SINK, condition = "headers['type']=='update'")
    public void receiveInsertUpdate(@Payload LearnUser user) { // 可以返回 也可以处理完之后发送消息给其他服务

        //user is vaild
        user.getStatus();
        //生成商户信息

    }
}
